package com.gxa.zhonglong.service;

import com.gxa.zhonglong.exception.BusinessException;
import com.gxa.zhonglong.pojo.Code;

import java.util.List;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 *
 * @author : 宸濯
 * Date: 2021/10/27 15:56
 * Description:
 * Version: V1.0
 */
public interface CodeService {

    /**
     * 查询所有编码规则
     * @return 所有编码规则对象
     */
    List<Map<String,Object>> selectAll() throws BusinessException;

    /**
     * 根据编码规则生成编码
     * @param id 编码规则id
     * @return 编码
     */
    String generation(Long id);

    /**
     * 添加编码规则
     * @param code 编码规则
     * @throws BusinessException 参数不合法
     */
    void add(Code code) throws BusinessException;

    /**
     * 修改编码规则
     * @param code 修改后的编码规则
     * @throws BusinessException 参数不合法
     */
    void update(Code code) throws BusinessException;

    /**
     * 删除编码规则
     * @param id 编码id
     * @throws BusinessException 对象不存在
     */
    void del(Long id) throws BusinessException;
}
